package com.igeek.config.ch01;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 *基于注解配置Bean
 *       1.@Component、@Repository、@Service、@Controller
 *       2.默认命令策略：以类名首字母小写作为beanName，注册进IOC容器中
 *
 * 基于注解配置Bean的属性
 *      1.@Value  配置类中的属性，例如：name、age、price等
 *      2.@Autowired 从IOC容器中，默认按照类型查找匹配的bean实例，若找到则注入；
 *      若找不到，则按照名字匹配查找，若也找不到，则抛出异常NoSuchBeanDefinitionException
 *      3.@Autowired(required = false)  required = false则代表不是必须提供实例，但是若不存在则会以null出现NullPointerException
 */
public class MainTest {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(MyConfig.class);

        UserController userController=ac.getBean(UserController.class);
        userController.registerUser();

    }
}
